package com.cysoft.third.echarts.component.yAxis;

/**
 * @author 玖零
 * @version v0.0.1
 * @project cysoft-third-echarts
 * @package com.cysoft.third.echarts.component.yAxis
 * @date 2025/3/13 11:37
 * @desc
 */
public class AxisPointer {

    /**
     * 默认不显示。但是如果 tooltip.trigger 设置为 'axis' 或者 tooltip.axisPointer.type 设置为 'cross'，
     * 则自动显示 axisPointer。坐标系会自动选择显示显示哪个轴的 axisPointer，
     * 也可以使用 tooltip.axisPointer.axis 改变这种选择。
     */
    private Boolean show;

    /**
     * 指示器类型。可选：'line' 直线指示器；'shadow' 阴影指示器；'none' 无指示器
     */
    private String type = "line";

    /**
     * 坐标轴指示器是否自动吸附到点上。默认自动判断。
     */
    private Boolean snap;

    /**
     * 坐标轴指示器的 z 值。控制图形的前后顺序。z 值小的图形会被 z 值大的图形覆盖。
     */
    private Integer z;

    /**
     * 坐标轴指示器的文本标签。
     */
    private AxisPointerLabel label;

    /**
     * axisPointer.type 为 'line' 时有效。
     */
    private LineStyle lineStyle;

    /**
     * axisPointer.type 为 'shadow' 时有效。
     */
    private ShadowStyle shadowStyle;

    /**
     * 从 v5.4.3 开始支持，是否触发系列强调功能。
     */
    private Boolean triggerEmphasis = true;

    /**
     * 是否触发 tooltip。如果不想触发 tooltip 可以关掉。
     */
    private Boolean triggerTooltip = true;

    /**
     * 当前的 value。在使用 axisPointer.handle 时，可以设置此值进行初始值设定，从而决定 axisPointer 的初始位置。
     */
    private Double value;

    /**
     * 当前的状态，可取值为 'show' 和 'hide'。
     */
    private String status;

    /**
     * 拖拽手柄，适用于触屏的环境。
     */
    private AxisPointerHandle handle;
}
